<!DOCTYPE html><html><head> 
  <link href="../css/main.css" rel="stylesheet" type="text/css" /> 
  <script type="text/javascript" src="../MarkdownWebapp/MarkdownWebapp.nocache.js"></script> 
  <script type="text/javascript" src="../ace/ace.js"></script> 
  <link rel="icon" type="image/x-icon" href="../favicon.ico" /> 
  <script type="text/javascript">window["_GOOG_TRANS_EXT_VER"] = "1";</script> 
  <title>Cmd 向导 | Sencha Cmd 介绍</title> 
  <meta charset="UTF-8" /> 
  <meta name="viewport" content="width=device-width, initial-scale=1" /> 
  <script async="" type="text/javascript" src="../../../https@use.typekit.com/bqo8qzg.js"></script> 
  <script type="text/javascript">

    function showMenu(link_obj){
      var menu = document.getElementById("tpl-toc");

      link_obj.innerHTML = (link_obj.innerHTML == 'CLOSE MENU') ? 'MENU' : 'CLOSE MENU';

      if(menu.style.display == 'block'){
        menu.style.display = 'none';
      }else{
        menu.style.display = 'block';
      }
    }

  </script> 
 </head> 
 <body> 
  <div id="header"> 
   <a href="../../../www.sencha.com/default.htm"><img class="sencha-logo" src="../images/logo.png" /></a> 
   <h1 id="current-product"><a href="#">Cmd 向导 ▼</a></h1> 
   <div id="mobile_menu"> 
    <a id="mobile_menu_link" onclick="showMenu(this);" href="#">MENU</a> 
   </div> 
    
  </div> 
  <div id="content" itemscope="" itemtype="http://schema.org/Article"> 
   <div id="tpl-toc"> 
    <div id="tpl-toc-content"> 
     <a class="toggle-button" href="#">expand</a> 
     <ul> 
      <li class="file"><a href="../../default.htm" data-full-load="true" title="Home">Sencha 向导</a></li> 
      <li class="file"><a href="index.html" data-full-load="true" title="Cmd Home">Sencha Cmd 向导</a></li> 
      <li class="file"><a href="whats_new_cmd.html" title="">Cmd 6 新特性</a></li> 
      <li class="file"><a href="fashion.html" title="">欢迎使用 Fashion</a></li> 
      <li class="file"><a href="cmd_upgrade_guide.html" title="Sencha Cmd 6 - 升级向导">Sencha Cmd 6 - 升级向导</a></li> 
      <li class="file"><a href="intro_to_cmd.html" title="Sencha Cmd 介绍">Sencha Cmd 介绍</a></li> 
      <li class="file"><a href="cmd_upgrade.html" title="理解 App 升级">理解 App 升级</a></li> 
      <li class="file"><a href="cmd_compiler.html" title="对编译器友好的代码原则">对编译器友好的代码原则</a></li> 
      <li class="file"><a href="cordova_phonegap.html" title="Cordova 和 Phonegap 应用">Cordova 和 Phonegap 应用</a></li> 
      <li class="file"><a href="workspaces.html" title="Sencha Cmd 的 Workspace">Sencha Cmd 的 Workspace</a></li> 
      <li class="file"><a href="microloader.html" title="加载器 Microloader">加载器 Microloader</a></li> 
      <li class="file"><a href="resource_management.html" title="资源管理">资源管理</a><span class="tpl-toc-img-new">★</span></li> 
      <li class="file"><a href="compatibility_matrix.html" title="Sencha Cmd 兼容性列表">Sencha Cmd 兼容性列表</a><span class="tpl-toc-img-new">★</span></li> 
      <li class="folder"><a href="#">Sencha Cmd 包(Packages)</a> 
       <ul expand="false"> 
        <li class="file"><a href="cmd_packages/cmd_packages.html" title="Sencha Cmd 包(Packages)">Sencha Cmd 包(Packages)</a></li> 
        <li class="file"><a href="cmd_packages/cmd_creating_packages.html" title="创建包(Packages)">创建包(Packages)</a></li> 
       </ul></li> 
      <li class="folder"><a href="#">Sencha Cmd 进阶</a> 
       <ul expand="false"> 
        <li class="file"><a href="advanced_cmd/cmd_advanced.html" title="Sencha Cmd 进阶">Sencha Cmd 进阶</a></li> 
        <li class="file"><a href="advanced_cmd/cmd_build.html" title="App Build 过程内部机制">App Build 过程内部机制</a></li> 
        <li class="file"><a href="advanced_cmd/cmd_compiler_reference.html" title="Sencha 编译器 参考">Sencha 编译器 参考</a></li> 
        <li class="file"><a href="advanced_cmd/cmd_ant.html" title="Ant 集成">Ant 集成</a></li> 
        <li class="file"><a href="advanced_cmd/cmd_metadata.html" title="Sencha Cmd Metadata">Sencha Cmd Metadata</a></li> 
        <li class="file"><a href="advanced_cmd/cmd_reference.html" title="Sencha Cmd 参考">Sencha Cmd 参考</a></li> 
       </ul></li> 
      <li class="folder"><a href="#">Ext JS</a> 
       <ul expand="false"> 
        <li class="file"><a href="extjs/cmd_app.html" title="">Sencha Cmd 结合 Ext JS</a></li> 
       </ul></li> 
      <li class="folder"><a href="#">Sencha Touch</a> 
       <ul expand="false"> 
        <li class="file"><a href="touch/cmd_app.html" title="">Sencha Cmd 结合 Sencha Touch</a></li> 
       </ul></li> 
      <li class="file"><a href="sencha_blog.html" title="Sencha 博客">Sencha 博客</a></li> 
     </ul> 
    </div> 
   </div> 
   <div id="middle"> 
    <div id="tpl-content"> 
     <div> 
      <div class="toc-page" style="display:block;">
        Contents 
       <a class="toc-page-h2" href="#Meet_Sencha_Cmd" title="Meet Sencha Cmd">Meet Sencha Cmd</a> 
       <a class="toc-page-h2" href="#Compatibility" title="Compatibility">Compatibility</a> 
       <a class="toc-page-h2" href="#System_Setup" title="System Setup">System Setup</a> 
       <a class="toc-page-h3" href="#Using_Older_Frameworks" title="Using Older Frameworks">Using Older Frameworks</a> 
       <a class="toc-page-h3" href="#Verify_Installation" title="Verify Installation">Verify Installation</a> 
       <a class="toc-page-h3" href="#Installing_Sencha_Cmd_Silently" title="Installing Sencha Cmd Silently">Installing Sencha Cmd Silently</a> 
       <a class="toc-page-h4" href="#Mac_OSX" title="Mac OSX">Mac OSX</a> 
       <a class="toc-page-h4" href="#Linux" title="Linux">Linux</a> 
       <a class="toc-page-h4" href="#Windows" title="Windows">Windows</a> 
       <a class="toc-page-h4" href="#Changing_the_Installation_Path" title="Changing the Installation Path">Changing the Installation Path</a> 
       <a class="toc-page-h2" href="#Upgrading_Sencha_Cmd" title="Upgrading Sencha Cmd">Upgrading Sencha Cmd</a> 
       <a class="toc-page-h3" href="#Upgrading_Sencha_Cmd_Silently" title="Upgrading Sencha Cmd Silently">Upgrading Sencha Cmd Silently</a> 
       <a class="toc-page-h3" href="#Beta_Releases" title="Beta Releases">Beta Releases</a> 
       <a class="toc-page-h2" href="#Command_Basics" title="Command Basics">Command Basics</a> 
       <a class="toc-page-h2" href="#Current_Directory" title="Current Directory">Current Directory</a> 
       <a class="toc-page-h2" href="#Sencha_Cmd_Documentation" title="Sencha Cmd Documentation">Sencha Cmd Documentation</a> 
       <a class="toc-page-h2" href="#Beyond_The_Basics" title="Beyond The Basics">Beyond The Basics</a> 
       <a class="toc-page-h2" href="#Troubleshooting" title="Troubleshooting">Troubleshooting</a> 
       <a class="toc-page-h3" href="#Command_Not_Found" title="Command Not Found">Command Not Found</a> 
       <a class="toc-page-h3" href="#Cannot_find_Ruby" title="Cannot find Ruby">Cannot find Ruby</a> 
       <a class="toc-page-h3" href="#Wrong_Current_Directory" title="Wrong Current Directory">Wrong Current Directory</a> 
       <a class="toc-page-h3" href="#Errors_While_Resolving_Dependencies" title="Errors While Resolving Dependencies">Errors While Resolving Dependencies</a> 
      </div> 
      <div id="tpl-content-name" itemprop="name"> 
       <h1>Sencha Cmd 介绍</h1> 
      </div> 
      <div id="tpl-content-articleBody" itemprop="articleBody"> 
       <p><a href="../../../www.sencha.com/products/sencha-cmd/default.htm">Sencha Cmd</a> is a cross-platform command line tool that provides many automated tasks around the full life-cycle of your applications from generating a new project to deploying an application to production.</p> 
       <h2 id="Meet_Sencha_Cmd">Meet Sencha Cmd</h2> 
       <p>Sencha Cmd provides a collection of powerful, time-saving features that work together and in conjunction with the Sencha Ext JS and Sencha Touch frameworks. Sencha Cmd provides the following capabilities:</p> 
       <ul> 
        <li><strong>Code Generation Tools</strong>: Code generation tools to generate entire applications and extend those applications with new MVC components.</li> 
        <li><strong>JS Compiler</strong>: A framework-aware, JavaScript compiler that understands the semantics of Sencha frameworks and can produce minimal footprint builds from your source. The compiler can optimize many of the high-level semantics provided by Sencha frameworks to reduce load time of your applications.</li> 
        <li><strong>Web Server</strong>: Provides a lightweight web server that serves files from localhost.</li> 
        <li><strong>Package Management System</strong>: Distributed package management system for easy integration of packages (such as Ext JS Themes) created by others or from the Sencha Package Repository.</li> 
        <li><strong>Sencha Web Application Manager Integration</strong> - Easily publish new application versions to the Sencha Web Application Manager server.</li> 
        <li><strong>Workspace Management</strong>: Assists in sharing frameworks, packages and custom code across multiple applications.</li> 
        <li><strong>Build Scripts</strong>: Generated build script for applications and packages with “before” and “after” extension points so you can customize the build process to fit your specific needs.</li> 
        <li><strong>Cordova / PhoneGap Integration</strong>: Native packaging to convert a web application into a first-class, mobile application that has access to device functionality and can be distributed in App Stores.</li> 
        <li><strong>Image Capture</strong>: Converts CSS3 features (such as border-radius and linear-gradient) into sprites for legacy browsers.</li> 
        <li><strong>Tuning Tools</strong>: Powerful code selection tools for tuning what is included in your application’s final build, determine common code across pages and partition shared code using high-level set operations to get builds exactly as you want them.</li> 
        <li><strong>Flexible Configuration System</strong>: Enables defaults to be specified for command options at the application or workspace level or across all workspaces on a machine.</li> 
        <li><strong>Logging</strong>: Robust logging to help you understand the inner workings of commands and facilitate troubleshooting.</li> 
        <li><strong>Third-party Software</strong>: For Sencha Touch and Ext JS 5 and older, Sencha Cmd includes a compatible version of Compass and Sass.</li> 
        <li><strong>Code Generation Hooks</strong>: Can be specific to one page or shared by all pages in the workspace, for example, to check coding conventions or guidelines as new models are generated).</li> 
       </ul> 
       <h2 id="Compatibility">Compatibility</h2> 
       <p>Sencha Cmd supports Sencha Ext JS version 4.1.1a or higher and Sencha Touch version 2.1 or higher. Many of the features of Sencha Cmd require framework support that is only available at these or later version levels. Some low-level commands can be used for older versions of Sencha frameworks or JavaScript in general.</p> 
       <p>If you are using an older version of Ext JS, you may use Sencha Cmd’s <code>build</code> command to build via your JSB file. In other words, Sencha Cmd can replace JSBuilder to produce a compressed build of the files described in a JSB file. Sencha Cmd will not update your JSB file as was done by the deprecated SDK Tools v2. </p> 
       <p>Sencha Touch 2.0 and Sencha Ext JS 4.0 require the deprecated <a href="../../../www.sencha.com/products/sdk-tools">SDK Tools v2</a>, which cannot be used with later Touch or Ext JS versions.</p> 
       <h2 id="System_Setup">System Setup</h2> 
       <p>The Sencha Cmd 6 installer includes all required software for building Ext JS 6 applications, so simply download Sencha Cmd:</p> 
       <ul> 
        <li><a href="../../../www.sencha.com/products/sencha-cmd/default.htm">Sencha Cmd</a></li> 
       </ul> 
       <h3 id="Using_Older_Frameworks">Using Older Frameworks</h3> 
       <p>If you are using older versions of Ext JS or Sencha Touch, you will need to check the “Compass extension” option in the installer:</p> 
       <p><img src="images/whats_new_cmd_compass.png" alt="Compass extension" /></p> 
       <p>You will also need to install Ruby to compile themes and applications that use Sass. Ruby differs by OS:</p> 
       <ul> 
        <li><strong>Windows</strong>: Download Ruby from <a href="../../../rubyinstaller.org/downloads/default.htm">rubyinstaller.org</a>. Get the <code>&quot;.exe&quot;</code> file version of the software and install it.</li> 
        <li><strong>Mac OS</strong>: Ruby is pre-installed. You can test if Ruby is installed with the <strong>Ruby -v</strong> command.</li> 
        <li><strong>Ubuntu</strong>: Use <strong>sudo apt-get install ruby2.0.0</strong> to download Ruby.</li> 
       </ul> 
       <p>If you will be using Cordova or PhoneGap, you may have other requirements for these tools. See <a href="cordova_phonegap.html">集成 Cordova 或 Phonegap</a>.</p> 
       <p>The installer will add an entry to your PATH environmental variable.</p> 
       <h3 id="Verify_Installation">Verify Installation</h3> 
       <p>To verify that Sencha Cmd is working properly, open a command line, change directory to your application, and type the <code>sencha</code> command. </p> 
       <p>You should see output that starts something like this:</p> 
       <pre mode="javascript" theme="chrome"><code>Sencha Cmd v6.0.0.202
...</code></pre> 
       <p>The exact version number displayed should match the version you just installed.</p> 
       <h3 id="Installing_Sencha_Cmd_Silently">Installing Sencha Cmd Silently</h3> 
       <p>Some users may wish to install Sencha Cmd without the installer’s GUI. If you need a CLI-only installation process, simply run the following command from your command line tool:</p> 
       <h4 id="Mac_OSX">Mac OSX</h4> 
       <pre mode="javascript" theme="chrome"><code>SenchaCmd-6.x.y.z-osx.app/Contents/MacOS/JavaApplicationStub -q</code></pre> 
       <h4 id="Linux">Linux</h4> 
       <pre mode="javascript" theme="chrome"><code>SenchaCmd-6.x.y.z-linux(-i386|-amd64).sh -q</code></pre> 
       <h4 id="Windows">Windows</h4> 
       <pre mode="javascript" theme="chrome"><code>SenchaCmd-6.x.y.z-windows-(32|64)bit.exe -q</code></pre> 
       <p>This will install Sencha Cmd sans GUI installer.</p> 
       <h4 id="Changing_the_Installation_Path">Changing the Installation Path</h4> 
       <p>If you need to change the installation path, you may specify it using the “dir” flag. For instance:</p> 
       <pre mode="javascript" theme="chrome"><code>sudo SenchaCmd-6.x.y.z-linux(-i386|-amd64).sh -q -dir &quot;/opt&quot;</code></pre> 
       <p><strong>Note:</strong> Your choice of installation path may necessitate permission changes.</p> 
       <h2 id="Upgrading_Sencha_Cmd">Upgrading Sencha Cmd</h2> 
       <p>The <code>sencha upgrade</code> feature lets you upgrade Sencha Cmd.</p> 
       <p>Check for new updates to Sencha Cmd:</p> 
       <pre mode="javascript" theme="chrome"><code>sencha upgrade --check</code></pre> 
       <p>Without the <code>--check</code> option, the <code>sencha upgrade</code> command downloads and installs the latest version if you don’t already have it:</p> 
       <pre mode="javascript" theme="chrome"><code>sencha upgrade</code></pre> 
       <p>After the installer is done, start a new console or terminal to pick up the changes to your PATH environment variable.</p> 
       <p>Because multiple versions of Sencha Cmd can be installed side-by-side, you can safely try new releases and simply uninstall them (or adjust the PATH or symlink) to go back to your previous version. Upgrading your applications using <code>sencha app upgrade</code> however, is more of a source control item you may need “roll back” if you downgrade to an older Sencha Cmd.</p> 
       <h3 id="Upgrading_Sencha_Cmd_Silently">Upgrading Sencha Cmd Silently</h3> 
       <p>Some users may wish to upgrade Sencha Cmd without the installer’s GUI. If you need a CLI-only upgrade process, simply run the following command from your command line tool:</p> 
       <pre mode="javascript" theme="chrome"><code>sencha upgrade --unattended</code></pre> 
       <p>This will upgrade Sencha Cmd sans GUI installer.</p> 
       <h3 id="Beta_Releases">Beta Releases</h3> 
       <p>If you want to check for beta releases, use:</p> 
       <pre mode="javascript" theme="chrome"><code>sencha upgrade --check --beta</code></pre> 
       <p>To install the latest beta version:</p> 
       <pre mode="javascript" theme="chrome"><code>sencha upgrade --beta</code></pre> 
       <p><strong>Note</strong> It is possible that the most current release is in either the “beta” or stable channel. That is to say, <code>sencha upgrade --beta</code> may install a beta that pre-dates the current release that would be installed by <code>sencha upgrade</code>.</p> 
       <h2 id="Command_Basics">Command Basics</h2> 
       <p>Sencha Cmd features are arranged in categories (or modules) and commands:</p> 
       <pre mode="javascript" theme="chrome"><code>sencha [category] [command] [options...] [arguments...]</code></pre> 
       <p>Help is available using the <code>help</code> command.</p> 
       <pre mode="javascript" theme="chrome"><code>sencha help [module] [action]</code></pre> 
       <p>For example, try this:</p> 
       <pre mode="javascript" theme="chrome"><code>sencha help</code></pre> 
       <p>Displays the current version and the available top-level commands. For example:</p> 
       <pre mode="javascript" theme="chrome"><code>Sencha Cmd v6.0.0.202
...

Options
  * --beta, -be - Enable beta package repositories
  * --cwd, -cw - Sets the directory from which commands should execute
  * --debug, -d - Sets log level to higher verbosity
  * --info, -i - Sets log level to default
  * --nologo, -n - Suppress the initial Sencha Cmd version display
  * --plain, -pl - enables plain logging output (no highlighting)
  * --quiet, -q - Sets log level to warnings and errors only
  * --sdk-path, -sd - The location of the SDK to use for non-app commands
  * --strict, -st - Treats warnings as errors, exiting with error if any warnings are present
  * --time, -ti - Display the execution time after executing all commands

Categories
  * app - Perform various application build processes
  * compile - Compile sources to produce concatenated output and metadata
  * cordova - Quick init Support for Cordova
  * diag - Perform diagnostic operations on Sencha Cmd
  * fs - Utility commands to work with files
  * generate - Generates models, controllers, etc. or an entire application
  * manager - Commands for interacting with Sencha Web Application Manager.
  * manifest - Extract class metadata
  * package - Manages local and remote packages
  * phonegap - Quick init support for PhoneGap
  * repository - Manage local repository and remote repository connections
  * template - Commands for working with templates
  * theme - Commands for low-level operations on themes
  * web - Manages a simple HTTP file server

Commands
  * ant - Invoke Ant with helpful properties back to Sencha Cmd
  * audit - Search from the current folder for Ext JS frameworks and report their license
  * build - Builds a project from a legacy JSB3 file.
  * config - Load a properties file or sets a configuration property
  * help - Displays help for commands
  * js - Executes arbitrary JavaScript file(s)
  * upgrade - Upgrades Sencha Cmd
  * which - Displays the path to the current version of Sencha Cmd</code></pre> 
       <p>The exact content will depend on the version you have installed.</p> 
       <h2 id="Current_Directory">Current Directory</h2> 
       <p>In many cases, Sencha Cmd requires that you set a specific current directory. Or it may just need to know details about the relevant Sencha SDK. The SDK (or “framework”) can be determined automatically by Sencha Cmd when it is run from a generated application folder or, for some few commands, from an extracted SDK folder.</p> 
       <p><strong>Important</strong> For the following commands, Sencha Cmd needs to be run from the root folder of a generated application. The commands fail if not run from the application’s root folder.</p> 
       <pre mode="javascript" theme="chrome"><code>* `sencha generate ...` (for commands other than `app`, `package` and `workspace`)
* `sencha app ...`</code></pre> 
       <p>This is also true of Packages. When running commands like <code>sencha package build</code>, the current directory must be the desired package folder.</p> 
       <h2 id="Sencha_Cmd_Documentation">Sencha Cmd Documentation</h2> 
       <p>The many guides for Sencha Cmd are organized to help build on your understanding and it is recommended that you follow this sequence. Jumping ahead can result in confusion as the advanced guides often assume understanding of the content of the earlier guides.</p> 
       <p>At the start of each guide are links to any prerequisites for that guide. Further, most guides end with a set of links for further reading.</p> 
       <h2 id="Beyond_The_Basics">Beyond The Basics</h2> 
       <p>There are many other details related to using Sencha Cmd that can be helpful. The <code>help</code> command is a great reference, but if you want to walk through all the highlights, consult <a href="advanced_cmd/cmd_advanced.html">Sencha Cmd 进阶</a>.</p> 
       <h2 id="Troubleshooting">Troubleshooting</h2> 
       <p>Here are some tips for solving common problems encountered when using Sencha Cmd.</p> 
       <h3 id="Command_Not_Found">Command Not Found</h3> 
       <p>If running <code>sencha</code> results in the error message <code>sencha: command not found</code> on OSX/Linux or <code>'sencha' is not recognized as an internal or external command, operable program or batch file</code> on Windows, follow these steps:</p> 
       <ul> 
        <li>Close the terminal/command prompt window and open a new one.</li> 
        <li>Make sure that Sencha Cmd is properly installed: 
         <ul> 
          <li>The installation directory exists. By default, the installation path is: 
           <ul> 
            <li>Windows: <code>C:\Users\Me\bin\Sencha\Cmd\{version}</code></li> 
            <li>Mac OS X: <code>~/bin/Sencha/Cmd/{version}</code></li> 
            <li>Linux: <code>~/bin/Sencha/Cmd/{version}</code></li> 
           </ul></li> 
          <li>The path to Sencha Cmd directory is prepended to your PATH environment variable. From the terminal, run <code>echo %PATH%</code> on Windows or <code>echo $PATH</code> on Mac or Linux. The Sencha Cmd directory should be displayed in part of the output. If this is not the case, add it to your PATH manually.</li> 
         </ul></li> 
       </ul> 
       <h3 id="Cannot_find_Ruby">Cannot find Ruby</h3> 
       <p>If you see an error related to not recognizing or finding <code>&quot;ruby&quot;</code> this is likely because Ruby is not installed or is not in your PATH. See the previous <a href="#System_Setup">System Setup</a> section.</p> 
       <p>You should not see this message using Ext JS 6 because Fashion is used instead of Compass and Fashion does not require Ruby.</p> 
       <h3 id="Wrong_Current_Directory">Wrong Current Directory</h3> 
       <p>A common mistake is to perform a command that requires the current directory to be either an extracted SDK directory or an application directory, but such a directory has not been set. If this requirement is not met, Sencha Cmd displays an error and exits.</p> 
       <p><strong>Note</strong> <em>A valid application directory is one that was generated by Sencha Cmd.</em></p> 
       <h3 id="Errors_While_Resolving_Dependencies">Errors While Resolving Dependencies</h3> 
       <p>The <code>sencha app build</code> command works by reading your <code>index.html</code> and <code>app.json</code> files and scanning for required classes. If your application does not properly declare the classes it requires, the build usually completes but will not contain all the classes needed by your application.</p> 
       <p>To ensure that you have all required classes specified, always develop with the debugger console enabled (“Developer Tools” in IE/Chrome, FireBug in FireFox and Web Inspector in Safari) and resolve all warnings and error messages as they appear.</p> 
       <p>Whenever you see a warning like this:</p> 
       <pre mode="javascript" theme="chrome"><code>[Ext.Loader] Synchronously loading 'Ext.foo.Bar'; consider adding 'Ext.foo.Bar'
explicitly as a require of the corresponding class</code></pre> 
       <p>You should add ‘Ext.foo.Bar’ inside the <code>requires</code> array property of the class from which the dependency originates. If it is a application-wide dependency, add it to the <code>requires</code> array property inside <code>Ext.application(...)</code> statement in <code>app.js</code>.</p> 
      </div> 
      <div class="tpl-content-lastUpdated">
        Last updated 
       <div id="tpl-content-lastUpdated-date" itemprop="datePublished" datetime="2016-04-01T13:04Z">
         April 1, 2016 
       </div> 
      </div> 
     </div> 
    </div> 
   </div> 
  </div> 
  <div id="footer"> 
   <div id="footer-social"> 
    <div class="g-plusone" data-size="medium" data-annotation="none"></div> 
   </div> 
   <div id="footer-content"> 
    <a href="../../../www.sencha.com/products">Products</a> | 
    <a href="../../../www.sencha.com/services">Services</a> | 
    <a href="../../../www.sencha.com/support">Support</a> | 
    <a href="../../../www.sencha.com/training">Training</a> | 
    <a href="../../../www.sencha.com/partners">Partners</a> | 
    <a href="../../../www.sencha.com/blog">Community</a> | 
    <a href="../../../www.sencha.com/company">Company</a> 
   </div> 
  </div> 
  <div id="menu-product-container" style="display:none;"> 
   <div id="menu-dropdown"> 
    <div class="menu-landing-products"> 
     <div id="menu-vertical"> 
      <p class="menu-landing-product" rel="cmd"> <a> Sencha Cmd </a> </p> 
      <p class="menu-landing-product" rel="extjs"> <a> Sencha Ext JS </a> </p> 
      <p class="menu-landing-product" rel="sencha_test"> <a> Sencha Test </a> </p> 
      <p class="menu-landing-product" rel="ide_plugins"> <a> Sencha IDE Plugins </a> </p> 
      <p class="menu-landing-product" rel="sencha_inspector"> <a> Sencha Inspector </a> </p> 
      <p class="menu-landing-product" rel="gxt"> <a> Sencha GXT </a> </p> 
      <p class="menu-landing-product" rel="webappmgr"> <a> Sencha Web Application Manager </a> </p> 
      <p class="menu-landing-product" rel="architect"> <a> Sencha Architect </a> </p> 
      <p class="menu-landing-product" rel="touch"> <a> Sencha Touch </a> </p> 
     </div> 
    </div> 
    <div id="menu-product-details"> 
     <div id="cmd-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha Cmd 
      </div> 
      <div class="menu-landing-doc-heading">
        6.x 
      </div> 
      <a href="../6.x"> 6.x </a> 
      <span class="tpl-toc-img-new">★</span> 
      <br /> 
      <div class="menu-landing-doc-heading">
        5.x 
      </div> 
      <a href="../5.x"> 5.x </a> 
     </div> 
     <div id="extjs-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha Ext JS 
      </div> 
      <div class="menu-landing-doc-heading">
        6.x 
      </div> 
      <a href="../../extjs/6.0/default.htm"> 6.0.2 </a> 
      <a class="menu-landing-zip" style="padding-right:0;" href="../../downloads/extjs-docs-6.0.2-classic.zip"> (classic) </a> 
      <a class="menu-landing-zip menu-landing-lesspad" href="../../downloads/extjs-docs-6.0.2-modern.zip"> (modern) </a> 
      <span class="tpl-toc-img-new">★</span> 
      <br /> 
      <a href="../../extjs/6.0/default.htm"> 6.0.1 </a> 
      <a class="menu-landing-zip" style="padding-right:0;" href="../../downloads/extjs-docs-6.0.1-classic.zip"> (classic) </a> 
      <a class="menu-landing-zip menu-landing-lesspad" href="../../downloads/extjs-docs-6.0.1-modern.zip"> (modern) </a> 
      <span class="tpl-toc-img-new">★</span> 
      <br /> 
      <a href="../../extjs/6.0/default.htm"> 6.0.0 </a> 
      <a class="menu-landing-zip" style="padding-right:0;" href="../../downloads/extjs-docs-6.0.0-classic.zip"> (classic) </a> 
      <a class="menu-landing-zip" style="padding-left:0;" href="../../downloads/extjs-docs-6.0.0-modern.zip"> (modern) </a> 
      <div class="menu-landing-doc-heading">
        5.1.x 
      </div> 
      <a href="../../extjs/5.1/default.htm"> 5.1.2 </a> 
      <a class="menu-landing-zip" href="../../downloads/extjs-docs-5.1.2.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../extjs/5.1/default.htm"> 5.1.1 </a> 
      <a class="menu-landing-zip" href="../../downloads/extjs-docs-5.1.1.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../extjs/5.1/default.htm"> 5.1.0 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/ext-docs-5.1.0.zip"> (offline docs) </a> 
      <br /> 
      <div class="menu-landing-doc-heading">
        5.0.x 
      </div> 
      <a href="../../extjs/5.0/default.htm"> 5.0.1 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/ext-docs-5.0.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../extjs/5.0/default.htm"> 5.0.0 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/ext-docs-5.0.0.zip"> (offline docs) </a> 
      <br /> 
      <div class="menu-landing-doc-heading">
        4.2.x 
      </div> 
      <a href="../../extjs/4.2.5/default.htm"> 4.2.5 </a> 
      <a class="menu-landing-zip" href="../../downloads/extjs-docs-4.2.5.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../extjs/4.2.4/default.htm"> 4.2.4 </a> 
      <a class="menu-landing-zip" href="../../downloads/extjs-docs-4.2.4.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../extjs/4.2.3/default.htm"> 4.2.3 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/extjs-docs-4.2.3.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../extjs/4.2.2/default.htm"> 4.2.2 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/extjs-docs-4.2.2.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../extjs/4.2.1/default.htm"> 4.2.1 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/extjs-docs-4.2.1.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../extjs/4.2.0/default.htm"> 4.2.0 </a> 
      <br /> 
      <div class="menu-landing-doc-heading">
        4.1.x 
      </div> 
      <a href="../../extjs/4.1.3/default.htm"> 4.1.3 </a> 
      <br /> 
      <a href="../../extjs/4.1.2/default.htm"> 4.1.2 </a> 
      <br /> 
      <a href="../../extjs/4.1.1/default.htm"> 4.1.1 </a> 
      <br /> 
      <a href="../../extjs/4.1.0/default.htm"> 4.1.0 </a> 
      <br /> 
      <div class="menu-landing-doc-heading">
        4.0.x 
      </div> 
      <a href="../../extjs/4.0.7/default.htm"> 4.0.7 </a> 
      <br /> 
      <a href="../../extjs/4.0.0/default.htm"> 4.0.0 </a> 
     </div> 
     <div id="sencha_test-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha Test 
      </div> 
      <a href="../../sencha_test/index.html"> Sencha Test </a> 
      <span class="tpl-toc-img-new">★</span> 
     </div> 
     <div id="ide_plugins-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha IDE Plugins 
      </div> 
      <a href="../../ide_plugins/jetbrains_ide_plugin.html"> JetBrains Plugin 6.x </a> 
      <span class="tpl-toc-img-new">★</span> 
      <br /> 
      <a href="../../ide_plugins/eclipse_ide_plugin.html"> Eclipse Plugin </a> 
      <span class="tpl-toc-img-new">★</span> 
      <br /> 
      <a href="../../ide_plugins/visual_studio_ide_plugin.html"> Visual Studio Plugin </a> 
      <span class="tpl-toc-img-new">★</span> 
     </div> 
     <div id="sencha_inspector-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha Inspector 
      </div> 
      <a href="../../sencha_inspector/index.html"> Sencha Inspector 6.x </a> 
      <span class="tpl-toc-img-new">★</span> 
     </div> 
     <div id="gxt-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha GXT 
      </div> 
      <!-- GXT 4.0 --> 
      <div class="menu-landing-doc-heading">
        4.0 
       <span class="tpl-toc-img-new">★</span> 
      </div> 
      <a href="../../../examples.sencha.com/gxt/4.0.1"> 4.0 Explorer Examples </a> 
      <br /> 
      <a href="../../../examples.sencha.com/gxt-edash/4.0.1"> 4.0 Dashboard Example </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/gxt/examples-src/gxt-edash-4.0.1.zip"> (War) </a> 
      <br /> 
      <a href="../../gxt/4.x/default.htm"> 4.0 Guides </a> 
      <br /> 
      <a href="../../gxt/4.x/javadoc/gxt-4.0.0"> 4.0 Javadoc </a> 
      <br /> 
      <!-- GXT 3.1.x --> 
      <div class="menu-landing-doc-heading">
        3.1 
      </div> 
      <a href="../../../www.sencha.com/examples/default.htm"> 3.1.4 Examples </a> 
      <br /> 
      <a href="../../gxt/3.x/default.htm"> 3.1.4 Guides </a> 
      <br /> 
      <a href="../../gxt/3.x/javadoc"> 3.1.4 Javadoc </a> 
      <br /> 
      <!-- GXT 3.0.x --> 
      <!-- GXT 2.x --> 
      <div class="menu-landing-doc-heading">
        2.0 
      </div> 
      <a href="../../../https@www.sencha.com/examples-2/default.htm"> 2.3.1 Examples </a> 
     </div> 
     <div id="webappmgr-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha Web Application Manager 
      </div> 
      <div class="menu-landing-doc-heading">
        6.0.x 
      </div> 
      <a href="../../webappmgr"> 6.0.0 </a> 
      <span class="tpl-toc-img-new">★</span> 
     </div> 
     <div id="architect-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha Architect 
      </div> 
      <div class="menu-landing-doc-heading">
        3.x 
      </div> 
      <a href="../../architect/3.5/default.htm"> 3.5 </a> 
      <span class="tpl-toc-img-new">★</span> 
      <br /> 
      <a href="../../architect/3/default.htm"> 3.2 </a> 
      <a class="menu-landing-zip menu-landing-lesspad" href="../../../cdn.sencha.com/downloads/docs/architect-docs-3.zip"> (offline docs) </a> 
     </div> 
     <div id="touch-menu-product" class="menu-specific-product"> 
      <div class="menu-landing-doc-heading">
        Sencha Touch 
      </div> 
      <div class="menu-landing-doc-heading">
        2.4.x 
      </div> 
      <a href="../../touch/2.4/default.htm"> 2.4.2 </a> 
      <span class="tpl-toc-img-new">★</span> 
      <a class="menu-landing-zip menu-landing-lesspad" href="../../downloads/touch-docs-2.4.2.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../touch/2.4/default.htm"> 2.4.1 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/touch-docs-2.4.1.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../touch/2.4/2.4.0-apidocs"> 2.4.0 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/touch-docs-2.4.0.zip"> (offline docs) </a> 
      <div class="menu-landing-doc-heading">
        2.3.x 
      </div> 
      <a href="../../touch/2.3.1/default.htm"> 2.3.1 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/touch-docs-2.3.1.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../touch/2.3.0/default.htm"> 2.3.0 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/touch-docs-2.3.0.zip"> (offline docs) </a> 
      <br /> 
      <div class="menu-landing-doc-heading">
        2.2.x 
      </div> 
      <a href="../../touch/2.2.1/default.htm"> 2.2.1 </a> 
      <a class="menu-landing-zip" href="../../../cdn.sencha.com/downloads/docs/touch-docs-2.2.1.zip"> (offline docs) </a> 
      <br /> 
      <a href="../../touch/2.2.0/default.htm"> 2.2.0 </a> 
      <br /> 
      <div class="menu-landing-doc-heading">
        2.1.x 
      </div> 
      <a href="../../touch/2.1.1/default.htm"> 2.1.1 </a> 
      <br /> 
      <a href="../../touch/2.1.0/default.htm"> 2.1.0 </a> 
      <br /> 
      <div class="menu-landing-doc-heading">
        2.0.x 
      </div> 
      <a href="../../touch/2.0.2/default.htm"> 2.0.2 </a> 
      <br /> 
      <a href="../../touch/2.0.1/default.htm"> 2.0.1 </a> 
      <br /> 
      <a href="../../touch/2.0.0/default.htm"> 2.0.0 </a> 
     </div> 
    </div> 
   </div> 
  </div> 
   
  <script type="text/javascript">
    adroll_adv_id = "5RM2BL5IGRFLRG5VDQ7OIE";
    adroll_pix_id = "LWO7UZXBFVESTOMYFI2LYS";
    /* OPTIONAL: provide email to improve user identification */
    /* adroll_email = "username_40example.com"; */
    (function () {
      var _onload = function(){
        if (document.readyState && !/loaded|complete/.test(document.readyState)){setTimeout(_onload, 10);return}
        if (!window.__adroll_loaded){__adroll_loaded=true;setTimeout(_onload, 50);return}
        var scr = document.createElement("script");
        var host = (("https:" == document.location.protocol) ? "../../../https@s.adroll.com" : "../../../a.adroll.com");
        scr.setAttribute('async', 'true');
        scr.type = "text/javascript";
        scr.src = host + "/j/roundtrip.js";
        ((document.getElementsByTagName('head') || [null])[0] ||
        document.getElementsByTagName('script')[0].parentNode).appendChild(scr);
      };
      if (window.addEventListener) {window.addEventListener('load', _onload, false);}
      else {window.attachEvent('onload', _onload)}
    }());
  </script> 
  <script>
    var menu = document.getElementById("tpl-toc"),
        link_obj = document.getElementById("mobile_menu_link"),
        links = menu.querySelectorAll('a');

    for(i=0; i < links.length; i++) {
      links[i].onclick = function() {
        var mq = window.matchMedia('only screen and (max-width: 768px)');

        if(mq.matches) {
          menu.style.display = 'none';
          link_obj.innerHTML = 'MENU';
        }
      }
    }
  </script> 
  <script type="text/javascript">
    </script>              <script src='../../../munchkin.marketo.net/munchkin-beta.js' type='text/javascript'></script><script>Munchkin.init('374-WES-121');</script>   
 
</body></html>